package com.yoshino.strategy.improve;

/**
 * @author yoshino
 **/
public abstract class Duck {

    // 属性，策略接口
    FlyBehavior flyBehavior;

    public Duck() {
    }
    // 显示鸭子信息

    public abstract void display();

    public void quack() {
        System.out.println("鸭子嘎嘎叫~");
    }

    public void swim() {
        System.out.println("鸭子会游泳~~");
    }

    public void fly() {
        // 改进

        if (flyBehavior != null) {
            flyBehavior.fly();
        }
    }
}
